[INFO] fetching crate domain-key 0.6.0...
[INFO] testing domain-key-0.6.0 against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] extracting crate domain-key 0.6.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate domain-key 0.6.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate domain-key 0.6.0
[INFO] tweaked toml for crates.io crate domain-key 0.6.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate domain-key 0.6.0 on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate domain-key 0.6.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sqlx-sqlite v0.8.6
[INFO] [stderr]   Downloaded sqlx-macros v0.8.6
[INFO] [stderr]   Downloaded crc-catalog v2.5.0
[INFO] [stderr]   Downloaded sqlx-macros-core v0.8.6
[INFO] [stderr]   Downloaded whoami v1.6.1
[INFO] [stderr]   Downloaded gxhash v3.5.0
[INFO] [stderr]   Downloaded sqlx-mysql v0.8.6
[INFO] [stderr]   Downloaded bytestring v1.5.1
[INFO] [stderr]   Downloaded sqlx v0.8.6
[INFO] [stderr]   Downloaded actix-router v0.5.4
[INFO] [stderr]   Downloaded sqlx-core v0.8.6
[INFO] [stderr]   Downloaded sqlx-postgres v0.8.6
[INFO] [stderr]   Downloaded regex-lite v0.1.9
[INFO] [stderr]   Downloaded axum v0.8.9
[INFO] [stderr]   Downloaded actix-http v3.12.1
[INFO] [stderr]   Downloaded actix-web v4.13.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 36c14044774f1e06c0a7039a13aa64ac3af9f4bf6538ededd21c9cc9c66d4f0b
[INFO] running `Command { std: "docker" "start" "36c14044774f1e06c0a7039a13aa64ac3af9f4bf6538ededd21c9cc9c66d4f0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "36c14044774f1e06c0a7039a13aa64ac3af9f4bf6538ededd21c9cc9c66d4f0b" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "36c14044774f1e06c0a7039a13aa64ac3af9f4bf6538ededd21c9cc9c66d4f0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "36c14044774f1e06c0a7039a13aa64ac3af9f4bf6538ededd21c9cc9c66d4f0b" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling domain-key v0.6.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.22s
[INFO] running `Command { std: "docker" "inspect" "36c14044774f1e06c0a7039a13aa64ac3af9f4bf6538ededd21c9cc9c66d4f0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "36c14044774f1e06c0a7039a13aa64ac3af9f4bf6538ededd21c9cc9c66d4f0b" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling crc-catalog v2.5.0
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling domain-key v0.6.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]    Compiling sqlx v0.8.6
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 1m 53s
[INFO] running `Command { std: "docker" "inspect" "36c14044774f1e06c0a7039a13aa64ac3af9f4bf6538ededd21c9cc9c66d4f0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "36c14044774f1e06c0a7039a13aa64ac3af9f4bf6538ededd21c9cc9c66d4f0b" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 0.39s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/domain_key-e2912af1d252025e)
[INFO] [stdout] 
[INFO] [stdout] running 113 tests
[INFO] [stdout] test composite_key::tests::ae1_roundtrip_default_separator ... ok
[INFO] [stdout] test composite_key::tests::ae2_missing_separator ... ok
[INFO] [stdout] test composite_key::tests::ae3_empty_first_segment ... ok
[INFO] [stdout] test composite_key::tests::ae4_custom_separator ... ok
[INFO] [stdout] test composite_key::tests::ae5_equality_and_hash_consistency ... ok
[INFO] [stdout] test composite_key::tests::can_use_as_hash_map_key ... ok
[INFO] [stdout] test composite_key::tests::clone_is_independent ... ok
[INFO] [stdout] test composite_key::tests::empty_input_missing_separator ... ok
[INFO] [stdout] test composite_key::tests::only_separator_empty_first_and_second ... ok
[INFO] [stdout] test composite_key::tests::ord_lexicographic ... ok
[INFO] [stdout] test composite_key::tests::serde_tests::custom_separator_json_roundtrip ... ok
[INFO] [stdout] test composite_key::tests::split_on_first_colon_second_may_contain_colon ... ok
[INFO] [stdout] test composite_key::tests::serde_tests::json_roundtrip ... ok
[INFO] [stdout] test composite_key::tests::serde_tests::json_error_no_separator ... ok
[INFO] [stdout] test domain::tests::compatible_domains_share_config_incompatible_differ ... ok
[INFO] [stdout] test domain::tests::default_domain_is_case_insensitive_with_max_64 ... ok
[INFO] [stdout] test domain::tests::default_trait_methods_return_sensible_defaults ... ok
[INFO] [stdout] test domain::tests::domain_info_display_includes_name_and_length ... ok
[INFO] [stdout] test domain::tests::identifier_domain_rejects_hyphens_and_leading_digits ... ok
[INFO] [stdout] test domain::tests::normalize_domain_borrows_when_unchanged ... ok
[INFO] [stdout] test domain::tests::path_domain_allows_slashes_but_not_consecutive ... ok
[INFO] [stdout] test error::tests::builder_produces_custom_error_with_code_and_context ... ok
[INFO] [stdout] test error::tests::category_display_and_description_are_populated ... ok
[INFO] [stdout] test error::tests::empty_error_provides_recovery_suggestions ... ok
[INFO] [stdout] test error::tests::recoverable_errors_distinguished_from_non_recoverable ... ok
[INFO] [stdout] test error::tests::user_and_debug_formats_include_expected_sections ... ok
[INFO] [stdout] test error::tests::each_variant_has_unique_error_code ... ok
[INFO] [stdout] test error::tests::variants_carry_correct_payloads ... ok
[INFO] [stdout] test error::tests::variants_map_to_correct_category ... ok
[INFO] [stdout] test id::tests::debug_shows_domain_and_value ... ok
[INFO] [stdout] test id::tests::different_domains_are_distinct_types ... ok
[INFO] [stdout] test id::tests::display_shows_numeric_value ... ok
[INFO] [stdout] test id::tests::domain_returns_name ... ok
[INFO] [stdout] test id::tests::equal_ids_produce_same_hash ... ok
[INFO] [stdout] test id::tests::from_non_zero_roundtrips ... ok
[INFO] [stdout] test id::tests::id_is_copy ... ok
[INFO] [stdout] test id::tests::into_from_non_zero_u64_roundtrips ... ok
[INFO] [stdout] test id::tests::into_non_zero_u64_preserves_value ... ok
[INFO] [stdout] test id::tests::into_u64_preserves_value ... ok
[INFO] [stdout] test id::tests::max_u64_is_valid_id ... ok
[INFO] [stdout] test id::tests::option_id_has_no_size_overhead ... ok
[INFO] [stdout] test id::tests::new_stores_nonzero_value ... ok
[INFO] [stdout] test id::tests::ordering_follows_numeric_value ... ok
[INFO] [stdout] test id::tests::parse_non_numeric_string_is_error ... ok
[INFO] [stdout] test id::tests::parse_valid_string ... ok
[INFO] [stdout] test id::tests::parse_zero_string_is_error ... ok
[INFO] [stdout] test id::tests::serde_rejects_zero ... ok
[INFO] [stdout] test id::tests::serde_roundtrip_preserves_id ... ok
[INFO] [stdout] test id::tests::try_from_str_succeeds ... ok
[INFO] [stdout] test id::tests::try_from_string_succeeds ... ok
[INFO] [stdout] test id::tests::try_from_u64_nonzero_succeeds ... ok
[INFO] [stdout] test id::tests::try_from_u64_zero_is_error ... ok
[INFO] [stdout] test id::tests::zero_returns_none ... ok
[INFO] [stdout] test key::tests::borrow_str_enables_hashmap_get_by_str ... ok
[INFO] [stdout] test key::tests::case_insensitive_domain_lowercases_and_normalizes ... ok
[INFO] [stdout] test key::tests::default_domain_accepts_simple_keys ... ok
[INFO] [stdout] test key::tests::deref_coerces_to_str ... ok
[INFO] [stdout] test key::tests::display_shows_raw_key_value ... ok
[INFO] [stdout] test key::tests::domain_rules_reject_invalid_prefix ... ok
[INFO] [stdout] test key::tests::ensure_prefix_suffix_is_idempotent ... ok
[INFO] [stdout] test key::tests::equal_keys_produce_same_hash ... ok
[INFO] [stdout] test key::tests::from_parts_joins_and_splits_roundtrip ... ok
[INFO] [stdout] test key::tests::from_smartstring_creates_key_without_revalidation ... ok
[INFO] [stdout] test key::tests::from_string_validates_owned_input ... ok
[INFO] [stdout] test key::tests::into_string_extracts_value ... ok
[INFO] [stdout] test key::tests::len_returns_consistent_cached_value ... ok
[INFO] [stdout] test key::tests::new_key_stores_value_and_domain ... ok
[INFO] [stdout] test key::tests::parse_str_creates_validated_key ... ok
[INFO] [stdout] test key::tests::rejects_empty_too_long_and_invalid_characters ... ok
[INFO] [stdout] test key::tests::serde_roundtrip_preserves_key ... ok
[INFO] [stdout] test key::tests::split_methods_produce_same_parts ... ok
[INFO] [stdout] test key::tests::try_from_static_rejects_empty_string ... ok
[INFO] [stdout] test key::tests::struct_is_32_bytes ... ok
[INFO] [stdout] test key::tests::validation_info_reflects_domain_config ... ok
[INFO] [stdout] test key::tests::string_query_methods_work_correctly ... ok
[INFO] [stdout] test macros::tests::batch_keys_collects_all_valid_keys ... ok
[INFO] [stdout] test macros::tests::batch_keys_returns_errors_for_invalid_entries ... ok
[INFO] [stdout] test macros::tests::define_domain_sets_name_and_max_length ... ok
[INFO] [stdout] test macros::tests::define_id_creates_domain_and_alias ... ok
[INFO] [stdout] test macros::tests::key_type_creates_usable_alias ... ok
[INFO] [stdout] test macros::tests::static_key_validates_and_creates_key ... ok
[INFO] [stdout] test macros::tests::test_domain_macro_test::domain_tests::test_domain_properties ... ok
[INFO] [stdout] test macros::tests::test_domain_macro_test::domain_tests::test_invalid_keys ... ok
[INFO] [stdout] test macros::tests::test_domain_macro_test::domain_tests::test_valid_keys ... ok
[INFO] [stdout] test utils::tests::test_add_prefix_suffix ... ok
[INFO] [stdout] test utils::tests::test_char_validation ... ok
[INFO] [stdout] test utils::tests::test_float_comparison ... ok
[INFO] [stdout] test utils::tests::test_join_optimized ... ok
[INFO] [stdout] test utils::tests::test_normalize_string ... ok
[INFO] [stdout] test utils::tests::test_replace_chars ... ok
[INFO] [stdout] test utils::tests::test_replace_chars_fixed ... ok
[INFO] [stdout] test utils::tests::test_string_utilities ... ok
[INFO] [stdout] test validation::tests::all_valid_true_only_when_all_pass ... ok
[INFO] [stdout] test validation::tests::any_valid_true_when_at_least_one_passes ... ok
[INFO] [stdout] test validation::tests::builder_processes_all_when_not_stopping_on_error ... ok
[INFO] [stdout] test validation::tests::builder_respects_max_failures_limit ... ok
[INFO] [stdout] test validation::tests::builder_stops_on_first_error_when_configured ... ok
[INFO] [stdout] test validation::tests::count_valid_matches_filter_length ... ok
[INFO] [stdout] test validation::tests::custom_validator_applies_extra_check ... ok
[INFO] [stdout] test validation::tests::filter_valid_removes_bad_keys ... ok
[INFO] [stdout] test validation::tests::into_key_converts_str_and_string ... ok
[INFO] [stdout] test validation::tests::is_valid_key_accepts_good_rejects_bad ... ok
[INFO] [stdout] test validation::tests::is_valid_key_default_matches_runtime_for_valid_keys ... ok
[INFO] [stdout] test validation::tests::is_valid_key_default_rejects_all_bad_patterns ... ok
[INFO] [stdout] test validation::tests::is_valid_key_default_respects_max_length ... ok
[INFO] [stdout] test validation::tests::lenient_validator_processes_all_items ... ok
[INFO] [stdout] test validation::tests::quick_convert_succeeds_or_returns_errors ... ok
[INFO] [stdout] test validation::tests::strict_validator_stops_on_first_error ... ok
[INFO] [stdout] test validation::tests::validate_batch_separates_valid_and_invalid ... ok
[INFO] [stdout] test validation::tests::validate_key_returns_error_for_empty ... ok
[INFO] [stdout] test validation::tests::validation_info_contains_domain_details ... ok
[INFO] [stdout] test validation::tests::validation_result_computes_success_rate ... ok
[INFO] [stdout] test composite_key::tests::debug_assert_fires_when_first_contains_sep - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 113 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests domain_key
[INFO] [stdout] 
[INFO] [stdout] running 69 tests
[INFO] [stdout] test src/domain.rs - domain::KeyDomain (line 188) ... ignored
[INFO] [stdout] test src/domain.rs - domain::Domain (line 36) ... ok
[INFO] [stdout] test src/error.rs - error::IdParseError (line 513) ... ok
[INFO] [stdout] test src/domain.rs - domain::KeyDomain (line 215) ... ok
[INFO] [stdout] test src/error.rs - error::KeyParseError::category (line 294) ... ok
[INFO] [stdout] test src/domain.rs - domain::KeyDomain (line 197) ... ok
[INFO] [stdout] test src/error.rs - error::KeyParseError (line 36) ... ok
[INFO] [stdout] test src/domain.rs - domain::IdDomain (line 68) ... ok
[INFO] [stdout] test src/domain.rs - domain::DefaultDomain (line 671) ... ok
[INFO] [stdout] test src/id.rs - id::Id (line 86) - compile fail ... ok
[INFO] [stdout] test src/domain.rs - domain::PathDomain (line 776) ... ok
[INFO] [stdout] test src/domain.rs - domain::IdentifierDomain (line 713) ... ok
[INFO] [stdout] test src/error.rs - error::KeyParseError::domain_error (line 140) ... ok
[INFO] [stdout] test src/error.rs - error::KeyParseError::code (line 268) ... ok
[INFO] [stdout] test src/domain.rs - domain::domain_info (line 608) ... ok
[INFO] [stdout] test src/composite_key.rs - composite_key (line 44) ... ok
[INFO] [stdout] test src/error.rs - error::KeyParseError::custom (line 207) ... ok
[INFO] [stdout] test src/id.rs - id (line 15) ... ok
[INFO] [stdout] test src/key.rs - key::Key (line 100) ... ok
[INFO] [stdout] test src/error.rs - error::CompositeKeyParseError (line 465) ... ok
[INFO] [stdout] test src/id.rs - id::Id<D>::new (line 160) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::ensure_prefix (line 993) ... ok
[INFO] [stdout] test src/composite_key.rs - composite_key (line 11) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::chars (line 894) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::as_str (line 638) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::hash (line 763) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T> (line 1446) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::contains (line 866) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::ends_with (line 834) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::from_static_unchecked (line 481) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::is_empty (line 722) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::ensure_suffix (line 1056) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::from_parts (line 394) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::from_string (line 337) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::split_str (line 961) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::len (line 693) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::validation_info (line 1115) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::is_valid_key_const (line 608) ... ok
[INFO] [stdout] test src/lib.rs - (line 100) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::new (line 261) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::try_from_static (line 533) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::try_from_parts (line 439) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::starts_with (line 801) ... ok
[INFO] [stdout] test src/macros.rs - macros::id_type (line 319) ... ok
[INFO] [stdout] test src/lib.rs - prelude (line 383) ... ok
[INFO] [stdout] test src/macros.rs - macros::define_id (line 382) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::domain (line 666) ... ok
[INFO] [stdout] test src/macros.rs - macros::define_domain (line 99) ... ok
[INFO] [stdout] test src/macros.rs - macros::batch_keys (line 523) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::split (line 925) ... ok
[INFO] [stdout] test src/key.rs - key::Key<T>::try_new (line 566) ... ok
[INFO] [stdout] test src/lib.rs - (line 58) ... ok
[INFO] [stdout] test src/macros.rs - macros::static_key (line 31) ... ok
[INFO] [stdout] test src/macros.rs - macros::define_id_domain (line 220) ... ok
[INFO] [stdout] test src/macros.rs - macros::key_type (line 188) ... ok
[INFO] [stdout] test src/macros.rs - macros::test_domain (line 583) ... ok
[INFO] [stdout] test src/utils.rs - utils::hash_algorithm (line 350) ... ok
[INFO] [stdout] test src/validation.rs - validation::is_valid_key_default (line 80) ... ok
[INFO] [stdout] test src/lib.rs - (line 156) ... ok
[INFO] [stdout] test src/validation.rs - validation::validation_help (line 215) ... ok
[INFO] [stdout] test src/validation.rs - validation::is_valid_key (line 158) ... ok
[INFO] [stdout] test src/validation.rs - validation::any_valid (line 451) ... ok
[INFO] [stdout] test src/validation.rs - validation::validate_batch (line 318) ... ok
[INFO] [stdout] test src/validation.rs - validation::validate_key (line 188) ... ok
[INFO] [stdout] test src/validation.rs - validation::count_valid (line 390) ... ok
[INFO] [stdout] test src/validation.rs - validation::validation_info (line 245) ... ok
[INFO] [stdout] test src/validation.rs - validation::quick_convert (line 755) ... ok
[INFO] [stdout] test src/validation.rs - validation::filter_valid (line 360) ... ok
[INFO] [stdout] test src/validation.rs - validation::all_valid (line 421) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 68 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 3.02s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "36c14044774f1e06c0a7039a13aa64ac3af9f4bf6538ededd21c9cc9c66d4f0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "36c14044774f1e06c0a7039a13aa64ac3af9f4bf6538ededd21c9cc9c66d4f0b", kill_on_drop: false }`
[INFO] [stdout] 36c14044774f1e06c0a7039a13aa64ac3af9f4bf6538ededd21c9cc9c66d4f0b
